/**
 * 
 */
package edu.erpan.web.materiaPrima;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.TimeZone;

import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;

import com.icesoft.faces.context.effects.JavascriptContext;

import edu.erpan.bl.entities.LineaDetalleIngresoMp;
import edu.erpan.bl.entities.MateriaPrima;
import edu.erpan.bl.entities.Opcion;
import edu.erpan.bl.entities.Proveedor;
import edu.erpan.bl.entities.RecepcionMateriaPrima;
import edu.erpan.bl.entities.administracion.Persona;
import edu.erpan.fachada.IMateriaPrimaFachada;
import edu.erpan.fachada.MateriaPrimaFachada;
import edu.erpan.fachada.administracion.IUsuarioFachada;
import edu.erpan.fachada.administracion.UsuarioFachada;
import edu.erpan.util.entityManager.exceptions.IdNotFoundException;
import edu.erpan.util.entityManager.exceptions.PersistException;
import edu.erpan.util.entityManager.exceptions.QueryException;
import edu.erpan.web.util.Recursos;

/**
 * @author Jeison
 * @date 21/08/2012
 *
 */
public class RegistroRecepcionMPBean implements Serializable {

	/**
	 * @author Jeison
	 * @date 12/06/2013
	 */
	private static final long serialVersionUID = -7780866728300402706L;

	private int valorNoValido=-1;
	
	private RecepcionMateriaPrima registrosMP;

	private List<SelectItem>itemsProveedores;
	
	private List<SelectItem>itemsResponsables;
	
	private List<RecepcionMateriaPrima>listaRecepcionMateriaPrimas=new ArrayList<RecepcionMateriaPrima>(0);
	
	private List<LineaDetalleIngresoMp>listaDetalleIngreso=new ArrayList<LineaDetalleIngresoMp>(0);
	
	private List<SelectItem>listaCalificaciones=new ArrayList<SelectItem>(0);
	
	/***Informacion linea detalle***/
	private LineaDetalleIngresoMp lineaDetalleIngresoMp=new LineaDetalleIngresoMp();
	
	private List<SelectItem>itemsMateriasPrima=new ArrayList<SelectItem>(0);
	/***Fin informacion linea detalle***/
	
	private TimeZone timeZone;
	
	private boolean editandoRecepcion;
	
	private boolean abiertoPopupLineaDetalle;
	
	private boolean collapsed=false;
	/**
	 * 
	 * @author Jeison
	 * @date 21/08/2012
	 */
	public RegistroRecepcionMPBean() {
		// TODO Auto-generated constructor stub
		this.registrosMP=new RecepcionMateriaPrima();
		this.registrosMP.setFechaRecepcion(new Date());
		
		this.registrosMP.setPersona(new Persona());
		this.registrosMP.setProveedore(new Proveedor());
		this.registrosMP.setCondicionEmpaque(new Opcion());
		this.registrosMP.setCondicionVehiculo(new Opcion());
		
		this.lineaDetalleIngresoMp=new LineaDetalleIngresoMp();
		this.lineaDetalleIngresoMp.setMateriaPrima(new MateriaPrima());
		
		this.timeZone=TimeZone.getTimeZone("America/Lima");
		
		this.consultarProveedores();
		this.consultarResponsables();
		this.consultarCalificaciones();
		
		this.consultarRecepciones();
		
		this.consultarMateriasPrimas();
		
	}
	
	public void consultarCalificaciones(){
		IMateriaPrimaFachada iMateriaPrimaFachada=new MateriaPrimaFachada();
		try {
			this.listaCalificaciones=new ArrayList<SelectItem>(0);
			List<Opcion>opciones=iMateriaPrimaFachada.consultarCalificaciones();
			
			for(Opcion opcion:opciones){
				SelectItem item=new SelectItem(opcion.getIdopciones(), opcion.getNombre());
				this.listaCalificaciones.add(item);
			}
			
		} catch (QueryException e) {
			// TODO Auto-generated catch block
			String mensaje=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_INESPERADO);
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje);
		}
	}
	
	public void guardarRecepcion(ActionEvent evento){
		if(validarCampos()){
			IMateriaPrimaFachada fachada=new MateriaPrimaFachada();
			try {
				fachada.guardarRecepcionMateriaPrima(this.registrosMP,this.listaDetalleIngreso);
				
				consultarRecepciones();
			} catch (PersistException e) {
				// TODO Auto-generated catch block
				String nombreEntidad=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_PRODUCTO);
				String mensaje=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_GUARDADO);
				Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreEntidad));
			}
		}
	}
	
	private boolean validarCampos() {
		boolean cumple=true;
		String nombreCampo;
		String mensaje = Recursos.getInstance().getMensaje("campo.obligatorio");
		if(this.registrosMP.getFechaRecepcion()==null){
			cumple =false;
			nombreCampo=Recursos.getInstance().getEtiqueta("recepcionMP.fechaRecepcion");
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreCampo));
		}
		if(this.registrosMP.getProveedore().getIdproveedores()<=0){
			cumple=false;
			nombreCampo=Recursos.getInstance().getEtiqueta("recepcionMP.proveedor");
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreCampo));
		}
		
		if(this.registrosMP.getPersona().getIdpersona()<=0){
			cumple=false;
			nombreCampo=Recursos.getInstance().getEtiqueta("recepcionMP.responsable");
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreCampo));
		}
		if(this.listaDetalleIngreso==null||this.listaDetalleIngreso.isEmpty()){
			cumple=false;
			mensaje = Recursos.getInstance().getMensaje("error.recepcionMP.debeTenerLineasDetalle");
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje);
		}
		return cumple;
	}

	public void agregarLineaDetalle(ActionEvent evento){
		try{
			if(validarCamposLineaDetalle(this.lineaDetalleIngresoMp)){
				if(editandoRecepcion){
					
				}else{
					IMateriaPrimaFachada materiaPrimaFachada=new MateriaPrimaFachada();
					MateriaPrima materiaPrima=this.lineaDetalleIngresoMp.getMateriaPrima();
					materiaPrima=materiaPrimaFachada.consultarMateriaPrima(materiaPrima);
					this.lineaDetalleIngresoMp.setMateriaPrima(materiaPrima);
					this.listaDetalleIngreso.add(this.lineaDetalleIngresoMp);
					
					this.lineaDetalleIngresoMp=new LineaDetalleIngresoMp();
					this.lineaDetalleIngresoMp.setMateriaPrima(new MateriaPrima());
				}
				this.cerrarPopupLineaDetalle(evento);
			}
		}catch (QueryException e) {
			String nombreEntidad=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_LINEA_INGRESO_MP);
			String mensaje=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_GUARDADO);
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreEntidad));
		} catch (IdNotFoundException e) {
			String nombreEntidad=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_LINEA_INGRESO_MP);
			String mensaje=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_GUARDADO);
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreEntidad));
		}
	}
	
	private boolean validarCamposLineaDetalle(LineaDetalleIngresoMp lineaDetalleIngresoMp){
		boolean cumple = true;
		String nombreCampo;
		String mensaje = Recursos.getInstance().getMensaje("campo.obligatorio");
		if(this.lineaDetalleIngresoMp.getMateriaPrima().getIdmateriaPrima()==null
				||this.lineaDetalleIngresoMp.getMateriaPrima().getIdmateriaPrima()==this.valorNoValido){
			cumple =false;
			nombreCampo=Recursos.getInstance().getEtiqueta("recepcionMP.lineasDetalle.materiaPrima");
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES_LINEA_DETALLE),Recursos.ERROR, mensaje.replace("{0}", nombreCampo));
		}
		if(this.lineaDetalleIngresoMp.getCantidad()<=0){
			cumple=false;
			nombreCampo=Recursos.getInstance().getEtiqueta("recepcionMP.lineasDetalle.cantidad");
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES_LINEA_DETALLE),Recursos.ERROR, mensaje.replace("{0}", nombreCampo));
		}
		
		if(this.lineaDetalleIngresoMp.getPrecioUnitario()<=0){
			cumple=false;
			nombreCampo=Recursos.getInstance().getEtiqueta("recepcionMP.lineasDetalle.precioUnitario");
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES_LINEA_DETALLE),Recursos.ERROR, mensaje.replace("{0}", nombreCampo));
		}
		if(this.lineaDetalleIngresoMp.getLote()==null||this.lineaDetalleIngresoMp.getLote().trim().isEmpty()){
			cumple=false;
			nombreCampo=Recursos.getInstance().getEtiqueta("recepcionMP.lineasDetalle.lote");
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES_LINEA_DETALLE),Recursos.ERROR, mensaje.replace("{0}", nombreCampo));
		}
		return cumple;
	}
	
	public void consultarRecepciones(){
		IMateriaPrimaFachada fachada=new MateriaPrimaFachada();
		try {
			this.listaRecepcionMateriaPrimas=fachada.consultarRecepcionesMateriaPrima();
		} catch (QueryException e) {
			String nombreEntidad=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_RECEPCIONES_MP);
			String mensaje=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_CONSULTA);
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreEntidad));
		}
	}
	
	private void consultarLineasDetalleMP(){
		IMateriaPrimaFachada fachada=new MateriaPrimaFachada();
		try {
			this.listaDetalleIngreso=fachada.consultarLineasDetalleRecepcion(this.registrosMP);
		} catch (QueryException e) {
			String nombreEntidad=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_LINEAS_INGRESO_MP);
			String mensaje=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_CONSULTA);
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreEntidad));
		}
	}
	
	private void consultarProveedores(){
		IMateriaPrimaFachada fachada=new MateriaPrimaFachada();
		try {
			this.itemsProveedores=new ArrayList<SelectItem>(0);
			List<Proveedor>proveedores=fachada.consultarProveedores(true);
			for(Proveedor proveedor:proveedores){
				SelectItem item=new SelectItem();
				item.setValue(proveedor.getIdproveedores());
				item.setLabel(proveedor.getNombre());
				
				this.itemsProveedores.add(item);
			}
		} catch (QueryException e) {
			// TODO Auto-generated catch block
			String nombreEntidad=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_PROVEEDOR);
			String mensaje=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_CONSULTA);
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreEntidad));
		}
	}
	
	private void consultarResponsables(){
		IUsuarioFachada fachada=new UsuarioFachada();
		try {
			this.itemsResponsables=new ArrayList<SelectItem>(0);
			
			List<Persona>responsables=fachada.consultarPersonas(true);
			for(Persona persona:responsables){
				SelectItem item = new SelectItem();
				item.setValue(persona.getIdpersona());
				StringBuffer stringBuffer=new StringBuffer();
				
				if(persona.getPrimerApellido()!=null&&!persona.getPrimerApellido().trim().isEmpty()){
					stringBuffer.append(persona.getPrimerApellido());
				}
				if(persona.getSegundoApellido()!=null&&!persona.getSegundoApellido().trim().isEmpty()){
					stringBuffer.append(" ");
					stringBuffer.append(persona.getSegundoApellido());
				}
				
				stringBuffer.append(", ");
				stringBuffer.append(persona.getNombres());
				
				String nombre=stringBuffer.toString();
				item.setLabel(nombre);
				
				this.itemsResponsables.add(item);
			}
		} catch (QueryException e) {
			// TODO Auto-generated catch block
			String nombreEntidad=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_RESPONSABLES);
			String mensaje=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_CONSULTA);
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreEntidad));
		}
	}
	
	/**
	 * Consulta las materias primas a ser usadas en las formulaciones
	 */
	private void consultarMateriasPrimas() {
		try{
			IMateriaPrimaFachada materiaPrimaFachada=new MateriaPrimaFachada();
			List<MateriaPrima>materiaPrimas=materiaPrimaFachada.consultarMateriasPrimas();
			itemsMateriasPrima=new ArrayList<SelectItem>(0);
			
			SelectItem item=new SelectItem(this.valorNoValido,Recursos.getInstance().getEtiqueta("item.seleccionarUnaOpcion") );
			itemsMateriasPrima.add(item);
			
			if(materiaPrimas!=null&&!materiaPrimas.isEmpty()){
				for(MateriaPrima materiaPrima:materiaPrimas){
					item=new SelectItem(materiaPrima.getIdmateriaPrima(), materiaPrima.getNombre()+"-"+materiaPrima.getPresentacion()+"-"+materiaPrima.getPeso()+" "+materiaPrima.getTipoMasa().getAcronimo());
					itemsMateriasPrima.add(item);
				}
			}
		}catch (QueryException e) {
			String nombreEntidad=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_MATERIAS_PRIMAS);
			String mensaje=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_CONSULTA);
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreEntidad));
		}
	}
	
	public void seleccionarRecepcion (ActionEvent evento){
		Integer idRecepcion=(Integer) evento.getComponent().getAttributes().get("idRecepcion");
		IMateriaPrimaFachada materiaPrimaFachada=new MateriaPrimaFachada();
		this.registrosMP=new RecepcionMateriaPrima();
		this.registrosMP.setIdrecepcionMateriaPrima(idRecepcion);
		try {
			this.registrosMP=materiaPrimaFachada.consultarRecepcionMateriaPrima(this.registrosMP);
			consultarLineasDetalleMP();
			this.editandoRecepcion=true;
		} catch (QueryException e) {
			// TODO Auto-generated catch block
			String nombreEntidad=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_RECEPCION_MP);
			String mensaje=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_SELECCION);
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreEntidad));
		} 
	}
	
	public void editarRecepcion(ActionEvent evento){
		if(validarCampos()){
			IMateriaPrimaFachada fachada=new MateriaPrimaFachada();
			try {
				fachada.editarRecepcionMateriaPrima(this.registrosMP);
				
				consultarRecepciones();
			} catch (PersistException e) {
				// TODO Auto-generated catch block
				String nombreEntidad=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_RECEPCION_MP);
				String mensaje=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_EDICION);
				Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreEntidad));
			}
		}
	}
	
	public void eliminarRecepcion(ActionEvent evento){
		IMateriaPrimaFachada fachada=new MateriaPrimaFachada();
		Integer idRecepcion=(Integer) evento.getComponent().getAttributes().get("idRecepcion");
		try {
			RecepcionMateriaPrima recepcionMateriaPrima=new RecepcionMateriaPrima();
			recepcionMateriaPrima.setIdrecepcionMateriaPrima(idRecepcion);
			
			fachada.eliminarRecepcionMateriaPrima(recepcionMateriaPrima);
			
			if(this.registrosMP.getIdrecepcionMateriaPrima()==idRecepcion){
				this.editandoRecepcion=false;
			}
			
			consultarRecepciones();
		} catch (QueryException e) {
			// TODO Auto-generated catch block
			String nombreEntidad=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_RECEPCION_MP);
			String mensaje=Recursos.getInstance().getMensaje(Recursos.MENSAJE_ERROR_ELIMINAR);
			Recursos.getInstance().addMessagePage(Recursos.getInstance().getMensaje(Recursos.ID_MENSAJES),Recursos.ERROR, mensaje.replace("{0}", nombreEntidad));
		}
	}
	
	public void cancelarEdicionRecepcion(ActionEvent evento){
		this.editandoRecepcion=false;
		
		this.registrosMP=new RecepcionMateriaPrima();
		this.registrosMP.setFechaRecepcion(new Date());
		
		this.registrosMP.setPersona(new Persona());
		this.registrosMP.setProveedore(new Proveedor());
		this.registrosMP.setCondicionEmpaque(new Opcion());
		this.registrosMP.setCondicionVehiculo(new Opcion());
		
		this.listaDetalleIngreso.clear();
	}
	
	public void consultarRecepciones(ActionEvent evento){
		this.consultarRecepciones();
	}
	
	
	public void abrirPopupLineaDetalle(ActionEvent evento){
		this.abiertoPopupLineaDetalle=true;
	}
	
	public void cerrarPopupLineaDetalle(ActionEvent evento){
		this.abiertoPopupLineaDetalle=false;
		//popupIngresoLinea
		FacesContext context=FacesContext.getCurrentInstance();
		//context.getELContext().;
		JavascriptContext.addJavascriptCall(context, "popupIngresoLinea.hide();");
	}
	
	
	
	/**
	 * @return the listaRegistrosMP
	 *
	 * @author Jeison
	 * @date 23/08/2012
	 */
	public RecepcionMateriaPrima getRegistrosMP() {
		return registrosMP;
	}
	/**
	 * @param listaRegistrosMP the listaRegistrosMP to set
	 * 
	 * @author Jeison
	 * @date 23/08/2012
	 */
	public void setRegistrosMP(RecepcionMateriaPrima listaRegistrosMP) {
		this.registrosMP = listaRegistrosMP;
	}
	/**
	 * @return the listaDetalleIngreso
	 *
	 * @author Jeison
	 * @date 4/09/2012
	 */
	public List<LineaDetalleIngresoMp> getListaDetalleIngreso() {
		return listaDetalleIngreso;
	}
	/**
	 * @param listaDetalleIngreso the listaDetalleIngreso to set
	 * 
	 * @author Jeison
	 * @date 4/09/2012
	 */
	public void setListaDetalleIngreso(
			List<LineaDetalleIngresoMp> listaDetalleIngreso) {
		this.listaDetalleIngreso = listaDetalleIngreso;
	}

	/**
	 * @return the calificaciones
	 *
	 * @author Jeison
	 * @date 8/09/2012
	 */
	public List<SelectItem> getListaCalificaciones() {
		return listaCalificaciones;
	}

	/**
	 * @param calificaciones the calificaciones to set
	 * 
	 * @author Jeison
	 * @date 8/09/2012
	 */
	public void setListaCalificaciones(List<SelectItem> calificaciones) {
		this.listaCalificaciones = calificaciones;
	}

	/**
	 * @return the timeZone
	 *
	 * @author Jeison
	 * @date 9/09/2012
	 */
	public TimeZone getTimeZone() {
		return timeZone;
	}

	/**
	 * @param timeZone the timeZone to set
	 * 
	 * @author Jeison
	 * @date 9/09/2012
	 */
	public void setTimeZone(TimeZone timeZone) {
		this.timeZone = timeZone;
	}

	/**
	 * @return the editandoRecepcion
	 *
	 * @author Jeison
	 * @date 17/09/2012
	 */
	public boolean isEditandoRecepcion() {
		return editandoRecepcion;
	}

	/**
	 * @param editandoRecepcion the editandoRecepcion to set
	 * 
	 * @author Jeison
	 * @date 17/09/2012
	 */
	public void setEditandoRecepcion(boolean editandoRecepcion) {
		this.editandoRecepcion = editandoRecepcion;
	}

	/**
	 * @return the listaRecepcionMateriaPrimas
	 *
	 * @author Jeison
	 * @date 17/09/2012
	 */
	public List<RecepcionMateriaPrima> getListaRecepcionMateriaPrimas() {
		return listaRecepcionMateriaPrimas;
	}

	/**
	 * @param listaRecepcionMateriaPrimas the listaRecepcionMateriaPrimas to set
	 * 
	 * @author Jeison
	 * @date 17/09/2012
	 */
	public void setListaRecepcionMateriaPrimas(
			List<RecepcionMateriaPrima> listaRecepcionMateriaPrimas) {
		this.listaRecepcionMateriaPrimas = listaRecepcionMateriaPrimas;
	}

	/**
	 * @return the itemsProveedores
	 *
	 * @author Jeison
	 * @date 19/09/2012
	 */
	public List<SelectItem> getItemsProveedores() {
		return itemsProveedores;
	}

	/**
	 * @param itemsProveedores the itemsProveedores to set
	 * 
	 * @author Jeison
	 * @date 19/09/2012
	 */
	public void setItemsProveedores(List<SelectItem> itemsProveedores) {
		this.itemsProveedores = itemsProveedores;
	}

	/**
	 * @return the itemsResponsables
	 *
	 * @author Jeison
	 * @date 19/09/2012
	 */
	public List<SelectItem> getItemsResponsables() {
		return itemsResponsables;
	}

	/**
	 * @param itemsResponsables the itemsResponsables to set
	 * 
	 * @author Jeison
	 * @date 19/09/2012
	 */
	public void setItemsResponsables(List<SelectItem> itemsResponsables) {
		this.itemsResponsables = itemsResponsables;
	}

	/**
	 * @return the abrirPopupLineaDetalle
	 *
	 * @author Jeison
	 * @date 1/10/2012
	 */
	public boolean isAbiertoPopupLineaDetalle() {
		return abiertoPopupLineaDetalle;
	}

	/**
	 * @param abrirPopupLineaDetalle the abrirPopupLineaDetalle to set
	 * 
	 * @author Jeison
	 * @date 1/10/2012
	 */
	public void setAbiertoPopupLineaDetalle(boolean abrirPopupLineaDetalle) {
		this.abiertoPopupLineaDetalle = abrirPopupLineaDetalle;
	}

	/**
	 * @return the collapsed
	 *
	 * @author Jeison
	 * @date 15/10/2012
	 */
	public boolean isCollapsed() {
		return collapsed;
	}

	/**
	 * @param collapsed the collapsed to set
	 * 
	 * @author Jeison
	 * @date 15/10/2012
	 */
	public void setCollapsed(boolean collapsed) {
		this.collapsed = collapsed;
	}

	/**
	 * @return the lineaDetalleIngresoMp
	 *
	 * @author Jeison
	 * @date 15/10/2012
	 */
	public LineaDetalleIngresoMp getLineaDetalleIngresoMp() {
		return lineaDetalleIngresoMp;
	}

	/**
	 * @param lineaDetalleIngresoMp the lineaDetalleIngresoMp to set
	 * 
	 * @author Jeison
	 * @date 15/10/2012
	 */
	public void setLineaDetalleIngresoMp(LineaDetalleIngresoMp lineaDetalleIngresoMp) {
		this.lineaDetalleIngresoMp = lineaDetalleIngresoMp;
	}

	/**
	 * @return the itemsMateriasPrima
	 *
	 * @author Jeison
	 * @date 15/10/2012
	 */
	public List<SelectItem> getItemsMateriasPrima() {
		return itemsMateriasPrima;
	}

	/**
	 * @param itemsMateriasPrima the itemsMateriasPrima to set
	 * 
	 * @author Jeison
	 * @date 15/10/2012
	 */
	public void setItemsMateriasPrima(List<SelectItem> itemsMateriasPrima) {
		this.itemsMateriasPrima = itemsMateriasPrima;
	}

}
